<?php
ob_start();
session_start();
date_default_timezone_set("Asia/Ho_Chi_Minh");
define('BASE_DIR', dirname(__FILE__)); //Hằng xác định thư mục hiện tại của Project
define('ACCESS', TRUE); //Hằng số chống truy cập các file trực tiếp, tất cả phải thông qua controller
if(isset($_SESSION['LOGIN']) and $_SESSION['LOGIN'] === TRUE)
{
    define('AUTH', TRUE);
}
else
{
    define('AUTH', FALSE);
}

include 'configuration.php';
include 'helpers/load.php';

loadHelper('view');
loadHelper('language');
loadLanguage('vn');

$com = (isset($_GET['com']))?trim($_GET['com']):'';
$action = (isset($_GET['action']))?trim($_GET['action']):'';

if(AUTH === FALSE) //Kiểm tra nếu người dùng chưa đuợc xác thực thì chuyển hành động sang đăng nhập
{
    if($com != 'user' or !in_array($action, array('register', 'login')))
    {
        $com = 'news';
        $action = '';
    }
}

if(($com == '' or $action  == '')  and $com != 'news') //Trang mặc định load là content/post/list
{
    $com = 'content';
    $action = 'post';
}
//Danh sách các controller và các action tương ứng được phép
$whitelist = array(
    'user' => array(
        'login',
        'logout',
        'register',
        'profile'
    ),
    'content' => array(
        'post',
        'entry',
        'comment',
        'vote'
    ),
    'news' => array('')
);

//Kiểm tra nếu hành động không được phép sẽ chuyển sang trang chủ
$check = array_search($action, $whitelist[$com]);
if($check === NULL or $check === false)
{
    $com = 'content';
    $action = 'post';
}

loadController($com, $action); //Load Controller tương ứng
@mysqli_close();
ob_flush();
ob_clean();
?>